package com.ququ.syb.common.pojo;




import lombok.Data;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.math.BigDecimal;
import java.util.List;

/**
 * Created by chenglinfu on 2016/6/16.
 */
@Document(collection = "paychannel")
@Data
@ToString
public class PayChannel {
    @Id
    private String _id;

    private BigDecimal channelcommissionrate;   //通道实际收取手续费率（按实付金额比例）

    private BigDecimal customercommissionrate;  //该通道生意宝向用户收取的手续费率（按订单金额比例）

    private Integer channelcommissionfixed; //通道实际收取定额单笔手续费，单位为分

    private Integer customercommissionfixed;    //该通道生意宝向客户收取的定额或单笔手续费，单位为分

    private Integer freelimit;  //免手续费限额

    private Integer customerceilinglimit;   //手续费封顶，单位为分 (通道)

    private Integer ceilinglimit;   //手续费封顶，单位为分 (通道)

    private Integer floorlimit;     //通道手机费保底，单位为分

    private Integer ratetype;   //手续费类型

    private String paychannelid;    //支付通道号

    private String paychannelname;  //支付通道名称

    private Integer status;     //通道状态：0-正常  1-禁用  2-维护中  3-已删除

    private Integer channeltype;    //支付通道类型: 1-快捷 2-网关/网银 3-扫码(微信/支付宝)

    private String callbackurl;     //异步回调地址

    private String returnurl;       //同步回调地址

    private String createtime;      //创建时间

    private Integer isdefault;      //是否默认

    private Integer isAutoClear;    //是否直清通道

    private String companyname;     //支付公司名称

    private String infourl; //通道介绍信息的网页URL

    private String withdrawnotifyurl;   //提现回调通知地址

    private Integer maxpayamount;   //通道支付封顶上限，单位为元

    private Integer accountid;  //通道账户

    private Integer commissionaccountid;    //通道手续费账户

    private BigDecimal withdrawcommission; //通道收取的提现手续费，单位为分（1元写成100）或千分比（比如0.001）

    private Integer withdrawcommissiontype; //提现手续费类型：1-单笔固定手续费,2-按金额比例

    private Integer minwithdrawcommission;  //通道收到的保底提现手续费，单位为分

    private BigDecimal customerwithdrawcommission;  //向客户收到的提现手续费

    private Integer needconfirm;    //是否需要支付确认（快捷API，短信确认）

    private BigDecimal minpayamount;    //最小付款金额，单位为元

    private Integer ordercloseable;//是否支持关闭订单
    
    private String timeout_expire;//支付二维码超时时间

    private Integer withdrawtype;   //提现订单类型

    private Integer allowpay;   //是否允许支付 0-禁止支付  1-允许支付

    private Integer allowwithdraw;  //是否允许提现  0-禁止提现  1-允许提现

    private Integer allowrefund;    //是否允许退款  0或null-不允许  1-允许退款

    private String registernotifyurl;   //注册审核回调地址

    private Integer needsms;    //是否需要发送短信验证码

    private Integer webpay;     //快捷网页版支付

    private Integer needcvv;    //接口传CVV和有效期

    private Integer wxalitype;  //微信支付宝支付类型

    private String withdrawqueue;   //提现队列名称

    private Integer allowdebit;     //是否支持借记卡支付

    private Integer allowcredit;    //是否支持信用卡支付

    private Integer allowassure;    //是否允许担保支付和担保类型  0或null-不支持担保  1-通道方支持担保  2-生意宝实现担保，大商户模式

    private String refundcallbackurl;   //退款回调地址

    private Integer allowdivide;        //是否允许分账 0或null不支持  1-支持分账

    private Integer allowclose;         //是否支持关闭订单

    private Integer defaulttimeout;     //默认订单超时时间，单位为分钟

    private Integer differentpay;       //是否支持收款（非同人），1-允许 0-null 不支持

    private List<String> extparam;      //通道特殊扩展参数

    private Integer allowdefinecommission;  //是否允许自定义手续费率  1-允许 0-null 不支持

    private Integer settleday;          //结算日期类型 0-D0/T0，1-D1，2-T1

    private Integer needbind;           //支付是否需要首次绑卡 0/null - 不需要， 1-需要

    private String bindkey;             //检查是否绑卡的key

    private Integer needquerypay;       //需支付回调查单

    private Integer needquerywithdraw;  //需提现查单

    private Integer allowresend;        //是否允许短信重发 1-允许 0/null-不允许

    private Integer withdrawstop;       //每天提现停止时间（小时）

    private Integer withdrawstart;      //每天提现开始时间（小时）

    private Integer paystart;           //每天通道开启时间（小时）

    private Integer paystop;            //每天通道结束交易时间（小时）

    private String sharebalance;        //通道间共享余额标志

    private Integer nopaycallback;      //本通道无支付回调，以接口实时结果为准 0或null-需回调 1-无需回调

    private Integer nowithdrawcallback;      //本通道无支付回调，以接口实时结果为准 0或null-需回调 1-无需回调

}
